The present disclosure relates generally to the field of video processing. More specifically, the present disclosure relates generally to the field of video surveillance processing, video storage, and video retrieval.
Conventional video systems display or record analog or digital video. In the context of surveillance systems, the video is often monitored by security personnel and/or recorded for future retrieval and playback. Typical recording systems often store large segments of video data using relatively simple descriptors. For example, a video recording system may include a camera number and date/time stamp with a recorded video segment, such as “Camera #4—Feb. 14, 2005-7:00 p.m.-9:00 p.m.” Even if the video recording system stores the video in a database or as a computer file, the video recording system may store little more than the basic information. While these systems may create and store a vast amount of video content, conventional video systems are rather cumbersome to use in the sense that humans must typically search video by manually viewing and reviewing video from a specific camera over a specific time window.
Even when a video system conducts basic video analysis, this analysis is typically performed at a centralized and dedicated video processing system and may have requirements such as: a large amount of buffer memory to store intermediate processing results and captured video frames; high bandwidth for video data transmission from the capture device to memory; a high performance CPU; and complex processing and resource management (e.g., shared buffer management and thread management). In addition to the hardware challenges presented by conventional video analysis systems, traditional video systems have been developed on proprietary data exchange and information interface models. These models may include, for example, custom-built data structures with code-level tight binding, and may usually require expensive code-maintenance that may limit the extensibility of the system. Data exchange features that may exist within conventional video systems are typically limited in that the data exchange models are not well specified or defined. For example, many of the software components rely on traditional individual variables and custom built data structures to pass parameters and to conduct component messaging tasks. This traditional design limits the ability of third-party developers to provide valuable add-on devices, compatible devices, and/or software extensions. Furthermore, this traditional design creates a software engineering overhead such that consumers of conventional video systems may not be able to effectively modify video systems to meet their particular needs.
There is a need for distributed video content processing systems and methods. Further, there is a need for video description systems and methods capable of supporting a distributed video processing system. Further, there is a need for video content definition, indexing, and retrieval systems and methods. Further, there is a need for video processing systems capable of conducting detailed content analysis regardless of the video standard input to the system. Further, there is a need for video processing systems capable of indexing video surveillance data for content querying. Further, there is a need for video surveillance systems capable of querying by object motion. Further, there is a need for video processing systems capable of providing user preference-based content retrieval, content delivery, and content presentation. Further, there is a need for a graphical visual querying tool for surveillance data retrieval.